// Package sysin
// @Link  https://github.com/bufanyun/hotgo
// @Copyright  Copyright (c) 2025 HotGo CLI
// @Author  Ms <133814250@qq.com>
// @License  https://github.com/bufanyun/hotgo/blob/master/LICENSE
// @AutoGenerate Version 2.16.10
package sysin

import (
	"context"
	"hotgo/internal/model/entity"
	"hotgo/internal/model/input/form"

	"github.com/gogf/gf/v2/os/gtime"
)

// LunboUpdateFields 修改轮播管理字段过滤
type LunboUpdateFields struct {
	Images string `json:"images" dc:"轮播图"`
	Url    string `json:"url"    dc:"跳转链接"`
	Sort   int    `json:"sort"   dc:"排序"`
}

// LunboInsertFields 新增轮播管理字段过滤
type LunboInsertFields struct {
	Images string `json:"images" dc:"轮播图"`
	Url    string `json:"url"    dc:"跳转链接"`
	Sort   int    `json:"sort"   dc:"排序"`
}

// LunboEditInp 修改/新增轮播管理
type LunboEditInp struct {
	entity.Lunbo
}

func (in *LunboEditInp) Filter(ctx context.Context) (err error) {

	return
}

type LunboEditModel struct{}

// LunboDeleteInp 删除轮播管理
type LunboDeleteInp struct {
	Id interface{} `json:"id" v:"required#id不能为空" dc:"id"`
}

func (in *LunboDeleteInp) Filter(ctx context.Context) (err error) {
	return
}

type LunboDeleteModel struct{}

// LunboViewInp 获取指定轮播管理信息
type LunboViewInp struct {
	Id int `json:"id" v:"required#id不能为空" dc:"id"`
}

func (in *LunboViewInp) Filter(ctx context.Context) (err error) {
	return
}

type LunboViewModel struct {
	entity.Lunbo
}

// LunboListInp 获取轮播管理列表
type LunboListInp struct {
	form.PageReq
	Id int `json:"id" dc:"id"`
}

func (in *LunboListInp) Filter(ctx context.Context) (err error) {
	return
}

type LunboListModel struct {
	Id       int         `json:"id"       dc:"id"`
	Images   string      `json:"images"   dc:"轮播图"`
	Url      string      `json:"url"      dc:"跳转链接"`
	Sort     int         `json:"sort"     dc:"排序"`
	CreateAt *gtime.Time `json:"createAt" dc:"添加时间"`
	UpdateAt *gtime.Time `json:"updateAt" dc:"更新时间"`
}

// LunboExportModel 导出轮播管理
type LunboExportModel struct {
	Id       int         `json:"id"       dc:"id"`
	Images   string      `json:"images"   dc:"轮播图"`
	Url      string      `json:"url"      dc:"跳转链接"`
	Sort     int         `json:"sort"     dc:"排序"`
	CreateAt *gtime.Time `json:"createAt" dc:"添加时间"`
	UpdateAt *gtime.Time `json:"updateAt" dc:"更新时间"`
}

// LunboMaxSortInp 获取轮播管理最大排序
type LunboMaxSortInp struct{}

func (in *LunboMaxSortInp) Filter(ctx context.Context) (err error) {
	return
}

type LunboMaxSortModel struct {
	Sort int `json:"sort"  description:"排序"`
}